package com.spic.business.plan.exerciseDetail.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.spic.common.core.annotation.Excel;
import com.spic.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * 应急预案演练计划明细对象 plan_exercise_detail
 *
 * @author spic
 * @date 2021-11-09
 */
public class PlanExerciseDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 演练ID */
    private String planExerciseId;

    /** 演练计划明细编号 */
    @NotBlank
    private String planDetailNum;

    /** 应急预案ID */
    @NotBlank
    @Excel(name = "应急演练项目")
    private String standingBookId;

    /** 计划开始时间 */
    @NotBlank
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "演练时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date planStartTime;

    /** 计划结束时间 */
    @NotBlank
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date planEndTime;

    /** 组织部门 */
    @NotBlank
    @Excel(name = "组织部门", cahceType = Excel.CacheType.DEPT)
    private Long deptId;

    @Override
    public Long getDeptId() {
        return deptId;
    }

    @Override
    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    /** 负责人 */
    @NotBlank
    private String userId;

    /** 参与部门与单位 */
    private String joinDept;

    /** 计划参与人数 */
    private Long planUserNum;

    /** 演练形式 */
    @NotBlank
    @Excel(name = "演练形式",dictType = "plan_drill_form")
    private Long planExerciseType;

    /** 0-未删除；1-已删除 */
    private Integer deleteFlag;

    /** 预算费用 */
    @Excel(name = "预计投入费用")
    private Double budget;

    public Double getBudget() {
        return budget;
    }

    public void setBudget(Double budget) {
        this.budget = budget;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setPlanExerciseId(String planExerciseId)
    {
        this.planExerciseId = planExerciseId;
    }

    public String getPlanExerciseId()
    {
        return planExerciseId;
    }
    public void setPlanDetailNum(String planDetailNum)
    {
        this.planDetailNum = planDetailNum;
    }

    public String getPlanDetailNum()
    {
        return planDetailNum;
    }
    public void setStandingBookId(String standingBookId)
    {
        this.standingBookId = standingBookId;
    }

    public String getStandingBookId()
    {
        return standingBookId;
    }
    public void setPlanStartTime(Date planStartTime)
    {
        this.planStartTime = planStartTime;
    }

    public Date getPlanStartTime()
    {
        return planStartTime;
    }
    public void setPlanEndTime(Date planEndTime)
    {
        this.planEndTime = planEndTime;
    }

    public Date getPlanEndTime()
    {
        return planEndTime;
    }

    public void setUserId(String userId)
    {
        this.userId = userId;
    }

    public String getUserId()
    {
        return userId;
    }
    public void setJoinDept(String joinDept)
    {
        this.joinDept = joinDept;
    }

    public String getJoinDept()
    {
        return joinDept;
    }
    public void setPlanUserNum(Long planUserNum)
    {
        this.planUserNum = planUserNum;
    }

    public Long getPlanUserNum()
    {
        return planUserNum;
    }
    public void setPlanExerciseType(Long planExerciseType)
    {
        this.planExerciseType = planExerciseType;
    }

    public Long getPlanExerciseType()
    {
        return planExerciseType;
    }
    public void setDeleteFlag(Integer deleteFlag)
    {
        this.deleteFlag = deleteFlag;
    }

    public Integer getDeleteFlag()
    {
        return deleteFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("planExerciseId", getPlanExerciseId())
            .append("planDetailNum", getPlanDetailNum())
            .append("standingBookId", getStandingBookId())
            .append("planStartTime", getPlanStartTime())
            .append("planEndTime", getPlanEndTime())
            .append("deptId", getDeptId())
            .append("userId", getUserId())
            .append("joinDept", getJoinDept())
            .append("planUserNum", getPlanUserNum())
            .append("planExerciseType", getPlanExerciseType())
            .append("deleteFlag", getDeleteFlag())
            .toString();
    }
}
